/**
 * <copyright>
 * </copyright>
 *

 */
package hu.bme.mit.androtext.androgen.androGenDsl;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see hu.bme.mit.androtext.androgen.androGenDsl.AndroGenDslFactory
 * @model kind="package"
 * @generated
 */
public interface AndroGenDslPackage extends EPackage
{
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "androGenDsl";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http://www.bme.hu/mit/androtext/androgen/AndroGenDsl";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "androGenDsl";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  AndroGenDslPackage eINSTANCE = hu.bme.mit.androtext.androgen.androGenDsl.impl.AndroGenDslPackageImpl.init();

  /**
   * The meta object id for the '{@link hu.bme.mit.androtext.androgen.androGenDsl.impl.AndroidGeneratorModelImpl <em>Android Generator Model</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see hu.bme.mit.androtext.androgen.androGenDsl.impl.AndroidGeneratorModelImpl
   * @see hu.bme.mit.androtext.androgen.androGenDsl.impl.AndroGenDslPackageImpl#getAndroidGeneratorModel()
   * @generated
   */
  int ANDROID_GENERATOR_MODEL = 0;

  /**
   * The feature id for the '<em><b>Target Applications</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ANDROID_GENERATOR_MODEL__TARGET_APPLICATIONS = 0;

  /**
   * The number of structural features of the '<em>Android Generator Model</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ANDROID_GENERATOR_MODEL_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link hu.bme.mit.androtext.androgen.androGenDsl.impl.TargetApplicationImpl <em>Target Application</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see hu.bme.mit.androtext.androgen.androGenDsl.impl.TargetApplicationImpl
   * @see hu.bme.mit.androtext.androgen.androGenDsl.impl.AndroGenDslPackageImpl#getTargetApplication()
   * @generated
   */
  int TARGET_APPLICATION = 1;

  /**
   * The feature id for the '<em><b>Application</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TARGET_APPLICATION__APPLICATION = 0;

  /**
   * The feature id for the '<em><b>Project Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TARGET_APPLICATION__PROJECT_NAME = 1;

  /**
   * The feature id for the '<em><b>Package Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TARGET_APPLICATION__PACKAGE_NAME = 2;

  /**
   * The feature id for the '<em><b>Target</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TARGET_APPLICATION__TARGET = 3;

  /**
   * The number of structural features of the '<em>Target Application</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TARGET_APPLICATION_FEATURE_COUNT = 4;

  /**
   * The meta object id for the '{@link hu.bme.mit.androtext.androgen.androGenDsl.ApiLevel <em>Api Level</em>}' enum.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see hu.bme.mit.androtext.androgen.androGenDsl.ApiLevel
   * @see hu.bme.mit.androtext.androgen.androGenDsl.impl.AndroGenDslPackageImpl#getApiLevel()
   * @generated
   */
  int API_LEVEL = 2;


  /**
   * Returns the meta object for class '{@link hu.bme.mit.androtext.androgen.androGenDsl.AndroidGeneratorModel <em>Android Generator Model</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Android Generator Model</em>'.
   * @see hu.bme.mit.androtext.androgen.androGenDsl.AndroidGeneratorModel
   * @generated
   */
  EClass getAndroidGeneratorModel();

  /**
   * Returns the meta object for the containment reference list '{@link hu.bme.mit.androtext.androgen.androGenDsl.AndroidGeneratorModel#getTargetApplications <em>Target Applications</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Target Applications</em>'.
   * @see hu.bme.mit.androtext.androgen.androGenDsl.AndroidGeneratorModel#getTargetApplications()
   * @see #getAndroidGeneratorModel()
   * @generated
   */
  EReference getAndroidGeneratorModel_TargetApplications();

  /**
   * Returns the meta object for class '{@link hu.bme.mit.androtext.androgen.androGenDsl.TargetApplication <em>Target Application</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Target Application</em>'.
   * @see hu.bme.mit.androtext.androgen.androGenDsl.TargetApplication
   * @generated
   */
  EClass getTargetApplication();

  /**
   * Returns the meta object for the reference '{@link hu.bme.mit.androtext.androgen.androGenDsl.TargetApplication#getApplication <em>Application</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Application</em>'.
   * @see hu.bme.mit.androtext.androgen.androGenDsl.TargetApplication#getApplication()
   * @see #getTargetApplication()
   * @generated
   */
  EReference getTargetApplication_Application();

  /**
   * Returns the meta object for the attribute '{@link hu.bme.mit.androtext.androgen.androGenDsl.TargetApplication#getProjectName <em>Project Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Project Name</em>'.
   * @see hu.bme.mit.androtext.androgen.androGenDsl.TargetApplication#getProjectName()
   * @see #getTargetApplication()
   * @generated
   */
  EAttribute getTargetApplication_ProjectName();

  /**
   * Returns the meta object for the attribute '{@link hu.bme.mit.androtext.androgen.androGenDsl.TargetApplication#getPackageName <em>Package Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Package Name</em>'.
   * @see hu.bme.mit.androtext.androgen.androGenDsl.TargetApplication#getPackageName()
   * @see #getTargetApplication()
   * @generated
   */
  EAttribute getTargetApplication_PackageName();

  /**
   * Returns the meta object for the attribute '{@link hu.bme.mit.androtext.androgen.androGenDsl.TargetApplication#getTarget <em>Target</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Target</em>'.
   * @see hu.bme.mit.androtext.androgen.androGenDsl.TargetApplication#getTarget()
   * @see #getTargetApplication()
   * @generated
   */
  EAttribute getTargetApplication_Target();

  /**
   * Returns the meta object for enum '{@link hu.bme.mit.androtext.androgen.androGenDsl.ApiLevel <em>Api Level</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for enum '<em>Api Level</em>'.
   * @see hu.bme.mit.androtext.androgen.androGenDsl.ApiLevel
   * @generated
   */
  EEnum getApiLevel();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  AndroGenDslFactory getAndroGenDslFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals
  {
    /**
     * The meta object literal for the '{@link hu.bme.mit.androtext.androgen.androGenDsl.impl.AndroidGeneratorModelImpl <em>Android Generator Model</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see hu.bme.mit.androtext.androgen.androGenDsl.impl.AndroidGeneratorModelImpl
     * @see hu.bme.mit.androtext.androgen.androGenDsl.impl.AndroGenDslPackageImpl#getAndroidGeneratorModel()
     * @generated
     */
    EClass ANDROID_GENERATOR_MODEL = eINSTANCE.getAndroidGeneratorModel();

    /**
     * The meta object literal for the '<em><b>Target Applications</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ANDROID_GENERATOR_MODEL__TARGET_APPLICATIONS = eINSTANCE.getAndroidGeneratorModel_TargetApplications();

    /**
     * The meta object literal for the '{@link hu.bme.mit.androtext.androgen.androGenDsl.impl.TargetApplicationImpl <em>Target Application</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see hu.bme.mit.androtext.androgen.androGenDsl.impl.TargetApplicationImpl
     * @see hu.bme.mit.androtext.androgen.androGenDsl.impl.AndroGenDslPackageImpl#getTargetApplication()
     * @generated
     */
    EClass TARGET_APPLICATION = eINSTANCE.getTargetApplication();

    /**
     * The meta object literal for the '<em><b>Application</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference TARGET_APPLICATION__APPLICATION = eINSTANCE.getTargetApplication_Application();

    /**
     * The meta object literal for the '<em><b>Project Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TARGET_APPLICATION__PROJECT_NAME = eINSTANCE.getTargetApplication_ProjectName();

    /**
     * The meta object literal for the '<em><b>Package Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TARGET_APPLICATION__PACKAGE_NAME = eINSTANCE.getTargetApplication_PackageName();

    /**
     * The meta object literal for the '<em><b>Target</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TARGET_APPLICATION__TARGET = eINSTANCE.getTargetApplication_Target();

    /**
     * The meta object literal for the '{@link hu.bme.mit.androtext.androgen.androGenDsl.ApiLevel <em>Api Level</em>}' enum.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see hu.bme.mit.androtext.androgen.androGenDsl.ApiLevel
     * @see hu.bme.mit.androtext.androgen.androGenDsl.impl.AndroGenDslPackageImpl#getApiLevel()
     * @generated
     */
    EEnum API_LEVEL = eINSTANCE.getApiLevel();

  }

} //AndroGenDslPackage
